A Theory of Vertically Composable Transactional Objects

نویسندگان

  • Timos Antonopoulos
  • Paul Gazzillo
  • Eric Koskinen
  • Zhong Shao
چکیده

We introduce a methodology and formal model that captures the essence of vertically composable transactional objects. Vertical composition adds complexity to transactional systems. As such, we aim to unearth a clean semantic model that strikes a balance between anticipating future implementation methodologies yet, nonetheless, offering a formal treatment of effective existing implementations. To this end we adopt a layered approach and show that first-class treatment of computation reversibility leads to a natural form of vertical composition: a given upper layer in a hierarchy can use inverses to roll back its operations and a contention manager can ensure progress by, at any point, applying inverses on behalf of an executing transaction. The model’s expressiveness is evident, for example, from the fact that we do not require that one object layer use the same implementation strategy (e.g. pessimism versus optimism) as another. Our main technical results are the first proofs of contextual refinement (stronger than serializability) and vertical composition for transactional objects. Our underlying semantics gives rise to a novel transactional variant of Herlihy’s Universal Construction. Our model is a generalization of many known TM implementations, including memory transactions, transactional boosting, some nested transactions, etc. Yet the model also anticipates new strategies and leads to a framework for constructing highly-concurrent systems in a modular way. To this end, we describe how it could be used to implement a highlyconcurrent transactional file system out of linearizable base objects.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Domain Specific Language for Composable Memory Transactions in Java

In this paper we present CMTJava, a domain specific language for composable memory transactions [7] in Java. CMTJava provides the abstraction of transactional objects. Transactional objects have their fields accessed only by special get and set methods that are automatically generated by the compiler. These methods return transactional actions as a result. A transactional action is an action th...

متن کامل

Composable Transactional Objects: A Position Paper

Memory transactions provide programmers with a convenient abstraction for concurrent programs: a keyword (such as atomic) designating a region of code that appears, from the perspective of concurrent threads, to execute atomically. Unfortunately, existing implementations in the form of software transactional memory (STM) are often ineffective due to their monolithic nature: every single read or...

متن کامل

Vertical Composition of Reversible Atomic Objects

The classic Herlihy/Wing notion of concurrent objects has had great success in theories and implementations (e.g. java.util. concurrent), providing programmers with the simple abstraction of an atomic object. Since then, software transactions have appeared, also touting the the goal of providing an atomicity abstraction. However, despite some vertical composition strategies within particular ST...

متن کامل

Can Software Transactional Memory Make Concurrent Programs Simple and Safe?

Parallel programs are key to exploiting the performance of modern computers, but traditional facilities for synchronizing threads of execution are notoriously difficult to use correctly, especially for problems with a non-trivial structure. Software transactional memory is a different approach to managing the complexity of interacting threads. By eliminating locking, many of the complexities of...

متن کامل

Towards Transactional Memory for OpenMP

The OpenMP specification lacks a composable shared memory concurrency mechanism: the current OpenMP concurrency mechanisms, such as OMP critical, locks, or atomics, do not support composition. In this paper, we motivate the need for transactional memory (TM) in OpenMP. The chief reason is to support composition of realistic programs, but we also consider whether TM is easier to program than loc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016